#ifndef __ARTIST_PAGE_H__
#define __ARTIST_PAGE_H__
struct   struct_process;
typedef  struct   struct_page
         {
            U4B room[1024];
         }PAGE;
typedef  struct   struct_page*  PPAGE;
typedef  struct struct_pageblock
         {
            U4B          time;  /*the time this page begins to take effect.*/
            U4B          attribute;
/*|||||||||||||||||||||||||||||PAGESTACK|PAGECODE|PAGETAG|PAGEFIXED|*/
            PPAGE        page;  /*the page address*/
            #define  PPROCESS  struct   struct_process*
            PPROCESS     owner; /*When some share the code page ,it point the process string,When no process use it,this item equals PTR_INVALID*/
            #undef   PPROCESS
            #define  PPAGEBLOCK struct struct_pageblock*
            PPAGEBLOCK   prevblock;  /*the previous block*/
            PPAGEBLOCK   nextblock;   /*the next block*/
            #undef   PPAGEBLOCK
         }PAGEBLOCK;
typedef  struct struct_pageblock* PPAGEBLOCK;
            #define  PPROCESS  struct   struct_process*
S4B VAToLA(PPROCESS process,U4B VA); 
PUBLIC S4B InitUserPDEAndPTE(PPDE ppde,PPTE pptekernel,PPTE pptepcb,PPROCESS pprocess);
            #undef   PPROCESS
#define  PAGEFREE  (0)
#define  PAGEFIXED (1)
#define  PAGETAG   (2)
#define  PAGECODE  (4)
#define  PAGESTACK (8)
#endif
